﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.Data;
using BE;

namespace DAL
{
    public class PreMatricula_DAL
    {

        public DataTable DATA_PreMatricula_Listar(String tipoIngreso,String nombres, String DNI,String especialidad)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PREMATRICULA_ListarPorCodigo";
                cmd.Parameters.AddWithValue("@in_TipoIngreso", tipoIngreso);
                cmd.Parameters.AddWithValue("@in_NombreCodigo", nombres);
                cmd.Parameters.AddWithValue("@in_DNI", DNI);
                cmd.Parameters.AddWithValue("@in_especialidad", especialidad);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_PREMATRICULA_ListaALL(Int32 in_Id_Alumno)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PREMATRICULA_ListaPorCodigo2";
                cmd.Parameters.AddWithValue("@in_codigo", in_Id_Alumno);
             
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_PREMATRICULA_ListaPorId(Int32 Id_PreMatricula)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PREMATRICULA_ListaPorId";
                cmd.Parameters.AddWithValue("@in_Id_PreMatricula", Id_PreMatricula);
              
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }





        public Int32 data_PremaTriculaInserta(PreMatricula_BE obj)
        {


            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {
               

                conexion.Open();
                
             

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "sp_DATA_PREMATRICULA_Inserta";
                cmd.Parameters.AddWithValue("@in_Apellido_Paterno", obj.Apellido_Paterno);
                cmd.Parameters.AddWithValue("@in_Apellido_Materno", obj.Apellido_Materno);
                cmd.Parameters.AddWithValue("@in_Nombres", obj.Nombres);
                cmd.Parameters.AddWithValue("@in_Correo", obj.Correo);
                cmd.Parameters.AddWithValue("@in_DNI", obj.DNI);
                cmd.Parameters.AddWithValue("@in_FECHA_NACIMIENTO", obj.FECHA_NACIMIENTO);
                cmd.Parameters.AddWithValue("@in_Id_Departamento", obj.Id_Departamento);
                cmd.Parameters.AddWithValue("@in_Id_Provincia", obj.Id_Provincia);
                cmd.Parameters.AddWithValue("@in_Id_Distrito", obj.Id_Distrito);
                cmd.Parameters.AddWithValue("@in_Direccion", obj.Direccion);
                cmd.Parameters.AddWithValue("@in_Id_EstadoCivil", obj.Id_EstadoCivil);
                cmd.Parameters.AddWithValue("@in_Numero_Hijos", obj.Numero_Hijos);
                cmd.Parameters.AddWithValue("@in_Telefono_Fijo",obj.Telefono_Fijo );
                cmd.Parameters.AddWithValue("@in_Celular", obj.Celular);
                cmd.Parameters.AddWithValue("@in_Apellido_PaternoPadre",obj.Apellido_PaternoPadre);
                cmd.Parameters.AddWithValue("@in_Apellido_MaternoPadre", obj.Apellido_MaternoPadre);
                cmd.Parameters.AddWithValue("@in_Nombres_Padre", obj.Nombres_Padre);
                cmd.Parameters.AddWithValue("@in_Ocupacion_Padre",obj.Ocupacion_Padre);
                cmd.Parameters.AddWithValue("@in_Telefono_Padre", obj.Telefono_Padre);
                cmd.Parameters.AddWithValue("@in_Apellido_PaternoMadre", obj.Apellido_MaternoPadre);
                cmd.Parameters.AddWithValue("@in_Apellido_MaternoMadre", obj.Apellido_MaternoMadre);
                cmd.Parameters.AddWithValue("@in_Nombres_Madre", obj.Nombres_Madre);
                cmd.Parameters.AddWithValue("@in_Ocupacion_Madre", obj.Ocupacion_Madre);
                cmd.Parameters.AddWithValue("@in_Telefono_Madre", obj.Telefono_Madre);
                cmd.Parameters.AddWithValue("@in_Apellido_PaternoApoderado", obj.Apellido_PaternoApoderado);
                cmd.Parameters.AddWithValue("@in_Apellido_MaternoApoderado", obj.Apelldio_MaternoApoderado);
                cmd.Parameters.AddWithValue("@in_Nombres_Apoderado", obj.Nombres_Apoderado);
                cmd.Parameters.AddWithValue("@in_Ocupacion_Apoderado", obj.Ocupacion_Apoderado);
                cmd.Parameters.AddWithValue("@in_Telefono_Apoderado", obj.Telefono_Apoderado);
                cmd.Parameters.AddWithValue("@in_Colegio", obj.Colegio);
                cmd.Parameters.AddWithValue("@in_Gestion", obj.Gestion);
                cmd.Parameters.AddWithValue("@in_Turno", obj.Turno);
                cmd.Parameters.AddWithValue("@in_Estudios_Concluidos", obj.Estudios_Concluidos);
                cmd.Parameters.AddWithValue("@in_Otros", obj.Otros);
                cmd.Parameters.AddWithValue("@in_Departamento_Colegio",obj.Departamento_Colegio);
                cmd.Parameters.AddWithValue("@in_Provincia_Colegio", obj.Provincia_Colegio);
                cmd.Parameters.AddWithValue("@in_Distrito_Colegio", obj.Distrito_Colegio);
                cmd.Parameters.AddWithValue("@in_Direccion_Colegio", obj.Direccion_Colegio);
                cmd.Parameters.AddWithValue("@in_Id_Especialidad", obj.Id_Especialidad);
                cmd.Parameters.AddWithValue("@in_Fecha_Registro", DateTime.Now);
                cmd.Parameters.AddWithValue("@in_Flag_ConfirmacionPre", 0);
                cmd.Parameters.AddWithValue("@in_Tipo_Inscripcion", obj.Tipo_Inscripcion);
                cmd.Parameters.AddWithValue("@in_Departamento_Residencia", obj.Departamento_Residencia);
                cmd.Parameters.AddWithValue("@in_Provincia_Residencia", obj.Provincia_Residencia);
                cmd.Parameters.AddWithValue("@in_Distrito_Residencia", obj.Distrito_Residencia);
                cmd.Parameters.AddWithValue("@in_Direccion_Residencia", obj.Direccion_Residencia);
                cmd.Parameters.AddWithValue("@in_Modalidad", obj.Modalidad);
                cmd.Parameters.AddWithValue("@in_observacion", obj.Observacion);
                cmd.Parameters.AddWithValue("@in_fecha_inscripcion", DateTime.Now);
                cmd.Parameters.AddWithValue("@in_usuarioInscripcion", obj.Usuario_Inscripcion);
                cmd.Parameters.AddWithValue("@in_TipoIngreso", obj.TipoIngreso);
                cmd.Parameters.AddWithValue("@in_flag_ingreso", obj.flag_ingreso);
                cmd.Parameters.AddWithValue("@in_inscripcion", obj.Inscripcion);
                cmd.Parameters.AddWithValue("@in_recibo", obj.Recibo);
                

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;
             
               String  x = cmd.ExecuteScalar().ToString();
                
                int y = Convert.ToInt32(x);

                return y;
              //  lblInscripcion.Text = string.Format("{0:0000}", y);


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }

        
        }

        public void data_PremaTriculaActualizar(PreMatricula_BE obj)
        {


            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {


                conexion.Open();



                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "sp_DATA_PREMATRICULA_ACTUALIZAR";
                cmd.Parameters.AddWithValue("@in_Id_PreMatricula", obj.Id_PreMatricula);
                cmd.Parameters.AddWithValue("@in_Apellido_Paterno", obj.Apellido_Paterno);
                cmd.Parameters.AddWithValue("@in_Apellido_Materno", obj.Apellido_Materno);
                cmd.Parameters.AddWithValue("@in_Nombres", obj.Nombres);
                cmd.Parameters.AddWithValue("@in_Correo", obj.Correo);
                cmd.Parameters.AddWithValue("@in_DNI", obj.DNI);
                cmd.Parameters.AddWithValue("@in_FECHA_NACIMIENTO", obj.FECHA_NACIMIENTO);
                cmd.Parameters.AddWithValue("@in_Id_Departamento", obj.Id_Departamento);
                cmd.Parameters.AddWithValue("@in_Id_Provincia", obj.Id_Provincia);
                cmd.Parameters.AddWithValue("@in_Id_Distrito", obj.Id_Distrito);
                cmd.Parameters.AddWithValue("@in_Direccion", obj.Direccion);
                cmd.Parameters.AddWithValue("@in_Id_EstadoCivil", obj.Id_EstadoCivil);
                cmd.Parameters.AddWithValue("@in_Numero_Hijos", obj.Numero_Hijos);
                cmd.Parameters.AddWithValue("@in_Telefono_Fijo", obj.Telefono_Fijo);
                cmd.Parameters.AddWithValue("@in_Celular", obj.Celular);
                cmd.Parameters.AddWithValue("@in_Apellido_PaternoPadre", obj.Apellido_PaternoPadre);
                cmd.Parameters.AddWithValue("@in_Apellido_MaternoPadre", obj.Apellido_MaternoPadre);
                cmd.Parameters.AddWithValue("@in_Nombres_Padre", obj.Nombres_Padre);
                cmd.Parameters.AddWithValue("@in_Ocupacion_Padre", obj.Ocupacion_Padre);
                cmd.Parameters.AddWithValue("@in_Telefono_Padre", obj.Telefono_Padre);
                cmd.Parameters.AddWithValue("@in_Apellido_PaternoMadre", obj.Apellido_MaternoPadre);
                cmd.Parameters.AddWithValue("@in_Apellido_MaternoMadre", obj.Apellido_MaternoMadre);
                cmd.Parameters.AddWithValue("@in_Nombres_Madre", obj.Nombres_Madre);
                cmd.Parameters.AddWithValue("@in_Ocupacion_Madre", obj.Ocupacion_Madre);
                cmd.Parameters.AddWithValue("@in_Telefono_Madre", obj.Telefono_Madre);
                cmd.Parameters.AddWithValue("@in_Apellido_PaternoApoderado", obj.Apellido_PaternoApoderado);
                cmd.Parameters.AddWithValue("@in_Apellido_MaternoApoderado", obj.Apelldio_MaternoApoderado);
                cmd.Parameters.AddWithValue("@in_Nombres_Apoderado", obj.Nombres_Apoderado);
                cmd.Parameters.AddWithValue("@in_Ocupacion_Apoderado", obj.Ocupacion_Apoderado);
                cmd.Parameters.AddWithValue("@in_Telefono_Apoderado", obj.Telefono_Apoderado);
                cmd.Parameters.AddWithValue("@in_Colegio", obj.Colegio);
                cmd.Parameters.AddWithValue("@in_Gestion", obj.Gestion);
                cmd.Parameters.AddWithValue("@in_Turno", obj.Turno);
                cmd.Parameters.AddWithValue("@in_Estudios_Concluidos", obj.Estudios_Concluidos);
                cmd.Parameters.AddWithValue("@in_Otros", obj.Otros);
                cmd.Parameters.AddWithValue("@in_Departamento_Colegio", obj.Departamento_Colegio);
                cmd.Parameters.AddWithValue("@in_Provincia_Colegio", obj.Provincia_Colegio);
                cmd.Parameters.AddWithValue("@in_Distrito_Colegio", obj.Distrito_Colegio);
                cmd.Parameters.AddWithValue("@in_Direccion_Colegio", obj.Direccion_Colegio);
                cmd.Parameters.AddWithValue("@in_Id_Especialidad", obj.Id_Especialidad);
                cmd.Parameters.AddWithValue("@in_Fecha_Registro", DateTime.Now);
                cmd.Parameters.AddWithValue("@in_Flag_ConfirmacionPre", 0);
                cmd.Parameters.AddWithValue("@in_Tipo_Inscripcion", obj.Tipo_Inscripcion);
                cmd.Parameters.AddWithValue("@in_Departamento_Residencia", obj.Departamento_Residencia);
                cmd.Parameters.AddWithValue("@in_Provincia_Residencia", obj.Provincia_Residencia);
                cmd.Parameters.AddWithValue("@in_Distrito_Residencia", obj.Distrito_Residencia);
                cmd.Parameters.AddWithValue("@in_Modalidad", obj.Modalidad);
                cmd.Parameters.AddWithValue("@in_observacion", obj.Observacion);
                cmd.Parameters.AddWithValue("@in_fecha_inscripcion", DateTime.Now);
                cmd.Parameters.AddWithValue("@in_usuarioInscripcion", obj.Usuario_Inscripcion);
                cmd.Parameters.AddWithValue("@in_TipoIngreso", obj.TipoIngreso);
                cmd.Parameters.AddWithValue("@in_flag_ingreso", obj.flag_ingreso);

                cmd.Parameters.AddWithValue("@in_sexo", obj.Sexo);
                cmd.Parameters.AddWithValue("@in_partida", obj.PartidaNacimiento);
                cmd.Parameters.AddWithValue("@in_nacionalidad", obj.Nacionalidad);


                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;
                cmd.ExecuteNonQuery();
              
                           
  
                


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }


        }



        public DataTable Data_PreMatricula_SemestreGeneraCodigo() // muestra el semestre que falta genera codigo
        {


            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_Data_PreMatricula_SemestreGeneraCodigo"; 
               

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }


        public DataTable Data_PreMatricula_ListaPorSemestre(String anio)
        {

            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_Data_PreMatricula_ListaPorSemestre";
                cmd.Parameters.AddWithValue("@in_anio",anio);

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }


        }

        public DataTable Data_PreMatricula_ListaPorSemestre_Ingresantes(String anio)
        {

            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_Data_PreMatricula_ListaPorSemestre_Ingresantes";
                cmd.Parameters.AddWithValue("@in_anio", anio);

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }


        }

        public DataTable DATA_PREMATRICULA_ListaxSemestresinCodigo(String semestre,String especialidad,
            String nombre)
        {

            //Lista ingresasntes que falta generar su codigo por semestre

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PREMATRICULA_ListaxSemestresinCodigo";
                cmd.Parameters.AddWithValue("@in_semestre", semestre);
                cmd.Parameters.AddWithValue("@in_especialidad", especialidad);
                cmd.Parameters.AddWithValue("@in_nombre", nombre);

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }


        }




        /*
         * Genera los codigos de los alumnos ingresantes por semestre
       
         */
        public void data_PreMatricula_GeneraCodigo(Int32 anio, String semestre)

        {

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {
                
                conexion.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "sp_data_PreMatricula_GeneraCodigo";
                cmd.Parameters.AddWithValue("@in_anio", anio);
                cmd.Parameters.AddWithValue("@in_semestre", semestre);            


                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;

                cmd.ExecuteNonQuery();


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }

        }

        /*Genera codigos de manera individual   */

        public void DATA_PREMATRICULA_GeneraCodigoIndividual(Int32 Id_PreMatricula,String semestre)
        {

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {

                conexion.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "SP_DATA_PREMATRICULA_GeneraCodigoIndividual";
                cmd.Parameters.AddWithValue("@in_Id_PreMatricula", Id_PreMatricula);
                cmd.Parameters.AddWithValue("@in_semestre", semestre);
                


                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;

                cmd.ExecuteNonQuery();


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }

        }


        /*Migra ingresantes de la taabla data_PreMatricula con el flag_ingreso=1 y con codigo de alumno generado por semestre  */

        public void DATA_PREMATRICULA_Migra_data_Maestro( String semestre)
        {

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {

                conexion.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "sp_DATA_PREMATRICULA_Migra_data_Maestro";
                
                cmd.Parameters.AddWithValue("@in_semestre", semestre);



                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;

                cmd.ExecuteNonQuery();


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }

        }


        /*Migra ingresantes de la taabla data_PreMatricula con el flag_ingreso=1 y con codigo
         * de alumno generado por semestre  de manera individual */

        public void DATA_PREMATRICULA_Migra_data_Maestro_Individual(String semestre, Int32 id_PreMatricula)
        {

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {

                conexion.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "sp_DATA_PREMATRICULA_Migra_data_Maestro_Individual";
                cmd.Parameters.AddWithValue("@in_Id_PreMatricula", id_PreMatricula);
                cmd.Parameters.AddWithValue("@in_semestre", semestre);



                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;

                cmd.ExecuteNonQuery();


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }

        }


        public void DATA_PREMATRICULA_ActualizaFlagMatricula(Int32 id_PreMatricula)
        {

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;


            try
            {

                conexion.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;


                cmd.CommandText = "sp_DATA_PREMATRICULA_ActualizaFlagMatricula";
                cmd.Parameters.AddWithValue("@Id_PreMatricula", id_PreMatricula);
                



                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 3600;

                cmd.ExecuteNonQuery();


            }
            catch (Exception ex)
            {

                throw ex;
            }

            finally
            {
                conexion.Close();
                cmd.Dispose();
            }

        }









    }
}
